<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 接口地址：https://api.apiopen.top/getJoke

        const p = new Promise(function (resolve, reject) {
            // 1.创建对象
            const xhr = new XMLHttpRequest();
            // 2.初始化
            xhr.open("GET", "https://api.apiopen.top/getJoke1")
            // 3.发送
            xhr.send();
            // 4.绑定事件，处理响应结果
            xhr.onreadystatechange = function () {
                // console.log(xhr);
                // 判断
                if (xhr.readyState === 4) {
                    // 判断响应状态码 200-299
                    if (xhr.status >= 200 && xhr.status < 300) {
                        // 表示成功
                        // console.log(xhr.response);
                        // 修改Promise状态为成功
                        resolve(xhr.response)
                    } else {
                        // 失败
                        // console.error(xhr.status);
                        // 修改Promise状态为失败
                        reject(xhr.status)
                    }
                }
            }
        })

        // 指定回调
        p.then(function (success) {
            console.log(p);
            console.log(success);
        }, function (err) {
            console.log(p);
            console.log(err);
        })
    </script>
</body>

</html>